Codex Learning · August 15, 2026

How to create a personal SPMO rebalancing skill

Turn a repeated ETF-research question into a reusable Codex procedure—without freezing changing holdings data inside the skill.

Start with the exact question

The proposed skill has one job: for every SPMO rebalance, identify the stock with the largest portfolio weight immediately after the new allocation takes effect.

That sounds simple, but “initial weight” needs discipline. A current holdings page is not enough because portfolio weights move with market prices after a rebalance. The workflow must find a dated holdings snapshot from the effective date or the earliest reliable date immediately afterward.

Separate the procedure from the results

Personal skill
  = how to find, validate, and report the answer

Historical holdings sources
  = evidence used during each run

Result table
  = dated output produced by the skill

Do not place a static list of stocks and weights inside the skill. Those are research results, not reusable instructions. The skill should define source priorities, date rules, validation checks, and the required output.

Choose a personal skill

A personal skill is appropriate when the same workflow should be available from several Codex projects. On Windows, its folder would normally live under the personal Codex skills directory:

C:UsersElla.codexskills└── spmo-rebalancing-top-weight    ├── SKILL.md
    ├── agents    │   └── openai.yaml
    └── references        └── output-schema.md

The project used to request creation of the skill does not own it. Once Codex discovers the personal skill, other projects can invoke it while still following their own permissions and AGENTS.md rules.

Define the workflow before creating files

Write down the decisions another agent would otherwise have to guess:

  1. Use authoritative issuer or index-provider material when available.
  2. Identify actual rebalance effective dates rather than assuming every holdings change is a rebalance.
  3. Use the holdings snapshot on the effective date, or the earliest defensible post-rebalance snapshot.
  4. Exclude cash, derivatives, and non-stock positions when the question asks for the top stock.
  5. Preserve the reported weight rather than reconstructing it from current prices.
  6. Cross-check important results against a second reliable source when possible.
  7. Flag missing dates, conflicting weights, and inferred results.
  8. Cite the source and holdings date for every row.

Ask Codex to initialize the skill

Use a request that specifies the name, location, purpose, boundaries, and output:

Create a personal Codex skill named
spmo-rebalancing-top-weight in my personal Codex skills directory.

The skill must identify the stock with the largest initial SPMO
portfolio weight after each historical rebalance.

Requirements:
- Research dated historical holdings; do not use current weights as
  substitutes for post-rebalance weights.
- Prefer authoritative issuer or index-provider sources.
- Distinguish actual rebalances from ordinary daily weight changes.
- Exclude cash and non-stock positions from the top-stock ranking.
- Report the rebalance date, holdings date, ticker, company, initial
  weight, source link, and confidence.
- Flag missing, conflicting, or inferred data.
- Do not provide personalized investment advice.
- Keep changing results outside the skill.

Initialize it with the official skill-creator workflow, add only the
resources it needs, validate it, and show me the completed files.
Do not modify any investment project or production system.

Keep SKILL.md concise

The skill description should say both what the skill does and when it should activate. The body should contain the essential procedure in imperative language.

---
name: spmo-rebalancing-top-weight
description: Research and verify the largest initial stock allocation
  in SPMO immediately after each rebalance. Use for historical SPMO
  rebalance holdings, top-weight timelines, and post-rebalance
  constituent comparisons.
---

# SPMO Rebalancing Top Weight

1. Confirm the requested historical range.
2. Locate authoritative rebalance dates and dated holdings.
3. Select the effective-date or earliest valid post-rebalance snapshot.
4. Remove cash and non-stock positions.
5. Rank stocks by reported portfolio weight.
6. Validate the leading row and record source provenance.
7. Report gaps, conflicts, assumptions, and confidence.
8. Return the standard output table.

Detailed column definitions can live in references/output-schema.md. This keeps the main instructions short while preserving a consistent result format.

Use a stable output contract

| Rebalance effective date | Holdings date | Top stock |
| Company | Initial weight | Source | Confidence | Notes |

Every row should be traceable to evidence. “Confidence” should reflect whether the weight came from an effective-date issuer file, a nearby official snapshot, or an inference that still needs confirmation.

Validate before trusting it

Skill creation is not finished when the files exist. Run the skill validator, then test the workflow on a small historical period. Confirm that a fresh Codex task can trigger the skill, find the correct type of source, distinguish rebalancing from market drift, and produce the required table without inventing missing values.

After several real runs, revise the skill where the agent repeatedly struggles. Add a deterministic script only if the same mechanical parsing step keeps recurring and its input format is stable.

Invoke it from any project

Use $spmo-rebalancing-top-weight to find SPMO’s largest
initial stock allocation after every rebalance from 2020 through 2026.

Return the standard table with source links and confidence labels.
Do not modify files or provide a portfolio recommendation.

The skill supplies the method. The current project supplies the workspace, permissions, available tools, and intended use. A blog project might turn the verified results into an article, while a research project might save them as a dataset.

The key principle

A well-designed personal skill preserves a repeatable way of working. It should teach Codex how to find and verify SPMO’s post-rebalance top weight, not pretend that yesterday’s holdings are permanent.

More Codex Learning →