WORKSPACE skills, shared firm
protocols) or to a single user (USER skills, personal protocols). The
Playbook screen in the Filed web app is the human UI over this API.
Skill operations are reached through the me query resolved as a
WorkspaceUser, so every read and mutation on this page requires a
workspaceToken (see Authentication). All
requests go to:
There is no top-level
skills or skill query. Both are fields on Workspace,
reached through me { ... on WorkspaceUser { workspace { skills(...) } } }.
The workspaceToken already identifies which workspace, so you never pass a
workspace ID.The Skill type
The skill’s scope:
WORKSPACE (shared firm protocol) or USER (personal
protocol). Determines who can edit, promote, and delete it.The task family this skill applies to, for example
tax-prep or
tax-advisor. Skills are grouped and listed by taskType.The skill’s unique name within its
taskType and kind. Together
kind + taskType + name (+ optional returnType) identifies a single
skill.A short human-readable summary of what the skill does.
The full rule body (the prompt / instruction text the analyst applies). May be
empty for curated skills.
ISO 8601 timestamp of the last edit.
ISO 8601 timestamp of creation.
When set, the skill only applies to clients of this return type
(
F1040, F1041, F1065, F1120, F1120S, F990). When null, the skill
applies to all return types.A free-text condition describing when the skill should fire. Display only.
The strategies attached to the skill. See the
SkillStrategy type.The skill’s lifecycle state:
NONE, PENDING, APPROVED, DENIED, or
DISABLED. PENDING means a USER skill has been shared with the firm and is
awaiting approval; APPROVED/DENIED are the resolved promotion states;
DISABLED means an admin has turned it off without deleting it.The user who owns the skill. See
UserShortDetails.The skill’s activity timeline (promotions, approvals, activations, edits). See
SkillActivityEvent.The SkillRule type
The rule’s unique identifier within the skill.
The severity the rule raises when it fires (for example
critical, high,
medium, low).The review category the rule maps to (for example
data-entry,
reconciliation).The knowledge domain the rule belongs to.
An optional numeric tolerance the rule allows before flagging.
A template string used to render the rule’s title in review output.
The SkillStrategy type
The strategy’s unique identifier within the skill.
A template string used to render the strategy’s title in planning output.
The SkillActivityEvent type
What happened, for example
created, updated, shared, approved, denied,
enabled, disabled. The web app humanizes this by replacing hyphens and
underscores with spaces and title-casing the result.ISO 8601 timestamp of the event.
The user who triggered the event. See
UserShortDetails.An optional human-readable note attached to the event (for example the denial
reason from
denySkillPromotion).The UserShortDetails type
UserShortDetails is a federated entity. The ai subgraph declares it with
only id; the platform subgraph resolves the human-readable fields.
The user’s account ID.
The user’s display name.
The user’s email.
An optional hash of the email (used for avatars).
List skills
Readworkspace.skills to list skills for a task family. The web app’s
Playbook screen calls this with showCuratedSkills: true to include Filed’s
built-in curated skills alongside the workspace’s own.
Arguments
When
true, include Filed’s curated (built-in) skills in the result alongside
the workspace’s own. Defaults to false.Filter to one task family, for example
tax-prep or tax-advisor. Omit to
list skills across all task families.Filter to skills that apply to a specific return type. Omit to list skills
that apply to all return types.
View a single skill
Readworkspace.skill to fetch one skill’s full detail, including its body,
rules, strategies, and activity timeline. Identify the skill with
kind + taskType + name (and optional returnType).
Arguments
WORKSPACE or USER.The task family, for example
tax-prep.The skill’s name within its
taskType and kind.When the skill is scoped to a return type, pass it to disambiguate. Omit for
skills that apply to all return types.
workspace.skill returns null when no skill matches the supplied
kind + taskType + name (+ returnType). Handle null as a not-found
result.The promotion workflow
AUSER skill starts as a personal protocol visible only to its owner. To share
it with the whole firm, the owner requests a promotion; a workspace admin then
approves or denies it. On approval the skill becomes a WORKSPACE skill (or
its WORKSPACE counterpart is activated) and applies for every user in the
workspace. The three mutations below drive that flow. All require a
workspaceToken.
Request a promotion
requestSkillPromotion submits a USER skill for firm-wide review. Its
status becomes PENDING.
The skill’s task family.
The skill’s name.
Returns: Skill!
The promoted Skill with its updated status.
Approve a promotion
approveSkillPromotion approves a PENDING skill. Its status becomes
APPROVED and it applies firm-wide.
The skill’s task family.
The skill’s name.
Returns: Skill!
The approved Skill with status: APPROVED.
Deny a promotion
denySkillPromotion denies a PENDING skill. Its status becomes DENIED
and the optional reason is recorded on the activity timeline.
The skill’s task family.
The skill’s name.
An optional denial note. Stored on the
SkillActivityEvent so the owner can see
why the promotion was rejected.Returns: Skill!
The denied Skill with status: DENIED.
Toggle a skill active or inactive
setSkillActive enables or disables a skill without deleting it. Disabling sets
status: DISABLED so the skill stops applying but is still listed and can be
re-enabled. Pass returnType when the skill is scoped to a return type.
The skill’s task family.
The skill’s name.
true to enable, false to disable.When the skill is scoped to a return type, pass it to disambiguate. Omit for
skills that apply to all return types.
Returns: Skill!
The updated Skill. Its status reflects the new active
state (APPROVED when enabled, DISABLED when disabled).
Delete a skill
deleteSkill permanently removes a skill. For WORKSPACE skills this deletes
the skill for the whole firm (curated skills revert to their default). For
USER skills this deletes the personal protocol. The mutation returns true
on success.
WORKSPACE or USER.The skill’s task family.
The skill’s name.
When the skill is scoped to a return type, pass it to disambiguate. Omit for
skills that apply to all return types.
Returns: Boolean!
true when the skill was deleted.