prism-shadow/gdpevo/self-attempt-01
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install prism-shadow/gdpevo/self-attempt-01SKILL.md
Asteria Portfolio Risk And Allocation JSON Skill
Use this skill for Asteria Investment Office tasks that ask for compact JSON answers about credit portfolio trades, fixed-income risk rotations, international equity correlations, active allocation views, or committee decisions that combine those inputs.
Core Source-Of-Truth Rules
- Read the local prompt and payloads only to identify the portfolio id, request scope, requested ordering, stale context, review window, allowed enums, and required JSON schema.
- Treat the shared Asteria API as the current book of record for holdings, quantities, security metadata, issuer status, policies, index levels, macro signals, prior views, and as-of dates.
- If a local memo or worksheet says it is stale, or its values conflict with API records, use the API. When the template asks for data precedence, use
current_environment_over_stale_payloadfor that case. - Do not infer missing schema fields from prose. Use
answer_template.jsonexactly: required keys, enum spelling, list lengths, precision, and ordering rules. - Return only the JSON object when the prompt says so. Do not include narrative comments, calculations, or markdown outside the JSON.
Base API:
Useful endpoints:
Most list endpoints accept equality filters such as ?quarter=Q2_2026, ?candidate=true, or ?rating_bucket=HY; still verify the returned shape.
Standard Workflow
- Parse the answer template first. Record required keys, enum values, numeric precision, and list ordering.
- Fetch
/api/policiesand the target/api/portfolios/<portfolio_id>. Use the portfolioas_of_datefor portfolio-specific answers unless the template clearly wants a policy/allocation date. - Fetch the domain reference data needed by the task:
- Credit tasks:
/api/instruments/bonds,/api/issuers, and sometimes/api/market/energy. - Correlation tasks:
/api/indicesand/api/index-levelsor/api/index-levels/<index_id>. - Allocation tasks:
/api/allocation/opportunity-sets,/api/allocation/prior-views,/api/macro-signals, and/api/policies.
- Join data explicitly:
- Holdings use
instrument_id. - Bonds use
issuer_id; join to issuers forwatchlist, issuer sector/subsector, and credit outlook. - Opportunity-set rows join by exact
opportunity_setstring and requestedquarter. - Index levels join by exact
index_id.
- Compute metrics using current API quantities and metadata. Round only at final output.
- Validate every constraint flag from computed post-trade state, not from intent.
- Before final JSON, check ordering, enum spelling, booleans as booleans, and numeric precision.
Credit Trade And Rotation SOP
Use this for energy-credit BUY packages and fixed-income SELL/BUY rotations.
Eligibility
- A BUY candidate normally must have
candidate: truein/api/instruments/bonds. - For energy-credit tasks, also require
energy_linked: trueunless the prompt allows broader credit. - Avoid buying any bond whose issuer has
watchlist: true, especially when the prompt asks for client-facing income, risk reduction, or watchlist avoidance. - For risk-reduction rotations, SELL only instruments currently held in the portfolio. Do not use stale memo quantities if current portfolio quantities differ.
- Prefer investment-grade non-watchlist buys for HY/watchlist reduction tasks unless the prompt explicitly requests HY carry and the HY cap remains safe.
- When a prompt supplies a shortlist, reconcile it to the current API: a named candidate may be ineligible because of issuer watchlist status, rating bucket, or current candidate flag.
Trade Sizing
- If the prompt specifies exact ticket count, total notional, and split, obey it. Example pattern: two BUY tickets totaling 8.0 means two 4.0 tickets.
- If a rotation is sell-funded, keep total BUY quantity equal to total SELL quantity unless the prompt specifies external funding or cash retention.
- Never sell more than current API quantity.
- Use USD millions as the quantity/notional unit.
Post-Trade Calculations
Let current portfolio market value be MV. Treat holdings quantities as USD millions of market value unless the prompt gives a different convention.
For each instrument:
For a funded rotation with equal buys and sells, post_mv usually stays unchanged.
Credit metrics:
Constraint checks:
hy_cap_pass: post HY allocation is less than or equal to policymax_hy_allocation_pct.duration_band_pass: post weighted duration is inside inclusiveduration_band_years.target_hy_reduction_met: HY reduction is at least policy or prompt target.watchlist_exposure_cleared: post watchlist exposure is zero when the task asks to clear avoidable watchlist risk.buys_avoid_watchlist: every BUY issuer haswatchlist: false.- Issuer diversification: selected BUY issuers should be distinct, and any requested issuer concentration limit should be tested against post-trade issuer exposure divided by post market value.
- Subsector diversification: count unique subsectors among selected BUYs or the requested package; compare with policy
subsector_min_count_for_diversifiedwhen present.
Selecting Credit Trades
For income BUY packages:
- Enumerate eligible candidate BUY combinations of the required size.
- Reject packages that breach HY cap, duration band, watchlist avoidance, issuer diversification, or subsector diversification.
- Among passing packages, prefer higher post-trade weighted yield/carry.
- Use energy macro signals and theme tags as tie-breakers: LNG/gas demand and midstream defensive carry are generally client-friendly; watchlist/high-carry traps and volatile refining exposure are not.
- If the output needs sales positioning, map the package theme to the closest allowed enum rather than inventing language.
For risk-reduction rotations:
- Identify current HY and watchlist holdings.
- Prioritize selling watchlist exposure, then additional HY exposure needed to meet the target reduction.
- Buy current eligible non-watchlist candidates that preserve duration inside the CIO band.
- Prefer buys that improve credit quality and reduce exception pressure over buys that merely maximize yield.
- Choose the risk note code from the dominant reason for the rotation, such as watchlist concentration, HY cap pressure, duration preservation, or carry tradeoff.
Ordering:
- Trade lists often require
SELLbeforeBUY, theninstrument_idascending inside each action. - BUY-only packages often require
instrument_idascending.
Equity Correlation SOP
Use this for international equity concentration and diversification reviews.
Data Preparation
- Use the requested index ids from the payload/template. Do not add extra indices unless the schema requests candidates from a separate allowed set.
- Fetch levels from
/api/index-levelsor per index from/api/index-levels/<index_id>. - Sort each level series by date ascending.
- Filter inclusively to the requested
level_start_dateandlevel_end_date. The default policy window is also available in/api/policies. - Convert levels to monthly simple returns:
Pearson Correlations
Compute Pearson correlation for each pair over matching monthly return observations:
The sample/population denominator cancels for correlation when both series share the same observations.
Rules:
- Round correlations to three decimals in final JSON.
- Sort the two ids inside every
pair_idorpairalphabetically. - For a universe-level review,
highest_positiveis the pair with the largest correlation. lowestorbest_diversifieris the pair with the smallest correlation, which may be negative.- Use policy
correlation_high_thresholdto set concentration breach flags. - Use policy
correlation_low_thresholdas a guide for low-correlation diversifier language, but still choose the lowest pair when the schema asks for the best diversifier.
Flags And Actions
- Set the portfolio concentration flag true when a requested concentration pair or the highest pair breaches the high threshold.
- Choose concentration codes from the schema:
- China/Asia or China/EM high correlation:
CHINA_ASIA_DEPENDENCE. - Developed/global benchmark overlap:
GLOBAL_DEVELOPED_OVERLAP. - No breach:
NO_MATERIAL_CONCENTRATION. - Diversification candidates should come only from the template's allowed values. Rank by lower correlation to the concentration driver and by supportive macro/allocation view; output in the required order, often alphabetical.
- Sleeve actions should be schema enums. Typical mapping:
trimormonitorfor high-correlation concentration sleeves with weak/underweight signals.addfor diversifying sleeves with low correlation and positive/overweight signals.rotatewhen moving from a concentration sleeve toward a diversifier.hedgefor currency sleeve risk or explicit hedge requests.holdwhen neither correlation nor active view justifies a change.
Active Allocation View SOP
Use this for CIO active allocation refreshes and committee allocation sections.
Required Joins
- Fetch opportunity-set taxonomy from
/api/allocation/opportunity-sets; this givesasset_classand validates exact names. - Fetch macro signals for the target quarter from
/api/macro-signals?quarter=<target_quarter>. - Fetch prior views from
/api/allocation/prior-views?quarter=<target_quarter>. The matching row'sviewis the comparison view for itsprevious_quarter. - Fetch
/api/policiesfor allocation mapping thresholds and view ranks.
Mapping Signal Score To View
Use policy allocation_mapping.view_score_thresholds:
Use policy allocation_mapping.conviction_thresholds:
Use policy allocation_mapping.view_rank to compute change against the prior view:
Carry through rationale_code from the macro signal row. Round signal_score to three decimals when the template includes it.
Allocation Output Ordering
- If the template says to use request order, output rows exactly in the payload's opportunity-set order.
- If it says alphabetical, sort by string.
- Do not sort by asset class, score, or conviction unless the template says so.
Risk Overlay Selection
Select only from allowed overlay enums. A practical priority order:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingexperiments/codex_gpt5_5_xhigh/reports/skills/task_group_010/self/self_attempt_01/SKILL.md
Popularity
- Repository stars
- 67
- Repository forks
- 3
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/prism-shadow/gdpevo/self-attempt-01)